package com.kingyun.gpsinspection.purificationservice.dao.mapper.jsm;


import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.CellDataSet;
import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.EntityDataSet;

import java.util.List;
import java.util.Map;

public interface EntityDataSetMapper {
    /**
     * 根据主键ID删除信息
     *
     * @param id 主键id
     * @return
     */
    int deleteByPrimaryKey(String id);

    /**
     * 插入数据
     *
     * @param record 新增数据封装类
     * @return
     */
    int insert(EntityDataSet record);

    /**
     * 插入数据(可选插入字段)
     *
     * @param record 新增数据封装类
     * @return
     */
    int insertSelective(EntityDataSet record);

    /**
     * 根据主键id查询信息
     *
     * @param id 主键id
     * @return
     */
    EntityDataSet selectByPrimaryKey(String id);

    /**
     * 根据主键id修改信息(可选需修改的字段)
     *
     * @param record 修改信息封装类
     * @return
     */
    int updateByPrimaryKeySelective(EntityDataSet record);

    /**
     * 根据主键id修改信息
     *
     * @param record 修改信息封装类
     * @return
     */
    int updateByPrimaryKey(EntityDataSet record);

    /**
     * 根据条件查询记录列表信息
     * 根据生产单元 或者 实体类型选择数据集
     */
    List<EntityDataSet> queryTableList(CellDataSet cellDataSet);

    /**
     * 查询该数据集是否关联过
     *
     * @param entityDataSet 查询数据封装类
     */
    EntityDataSet queryRowsByDatasetId(EntityDataSet entityDataSet);

    /**
     * 根据ID修改关联信息为删除
     *
     * @param map 主键id
     */
    Integer updateStatusByIds(Map map);
}